package com.ly.heart.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 勘测申请费用明细对象 erp_survey_cost_info
 * @author wutao
 * @date 2024-05-22
 */
@TableName ("erp_survey_cost_info")
@ApiModel (value = "erp_survey_cost_info对象", description = "勘测申请费用明细")
@Data
public class SurveyCostEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId (value = "id", type = IdType.INPUT)
    private String id;

    /**
     * 勘测申请Id，关联勘测申请表
     */
    @ApiModelProperty ("勘测申请Id，关联勘测申请表")
    @TableField ("survey_apply_id")
    @Excel (name = "勘测申请Id，关联勘测申请表")
    private String surveyApplyId;

    /**
     * 费用类型，关联字典表
     */
    @ApiModelProperty ("费用类型，关联字典表")
    @TableField ("cost_type")
    @Excel (name = "费用类型，关联字典表")
    private String costType;

    /**
     * 预算费用
     */
    @ApiModelProperty ("预算费用")
    @TableField ("budget_cost")
    @Excel (name = "预算费用")
    private String budgetCost;

    /**
     * 费用内容
     */
    @ApiModelProperty ("费用内容")
    @TableField ("cost_content")
    @Excel (name = "费用内容")
    private String costContent;

    /**
     * 备注
     */
    @ApiModelProperty ("备注")
    @TableField ("remarks")
    @Excel (name = "备注")
    private String remarks;

    /**
     * 更新时间
     */
    @ApiModelProperty ("更新时间")
    @TableField ("change_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date changeTime;

    /**
     * $column.columnComment
     */
    @ApiModelProperty ("更新时间")
    @TableField ("is_used")
    @Excel (name = "更新时间")
    private Integer isUsed;

    @Override
    public String toString () {
        return new ToStringBuilder ( this, ToStringStyle.MULTI_LINE_STYLE )
                .append ( "id", getId () )
                .append ( "surveyApplyId", getSurveyApplyId () )
                .append ( "costType", getCostType () )
                .append ( "budgetCost", getBudgetCost () )
                .append ( "costContent", getCostContent () )
                .append ( "remarks", getRemarks () )
                .append ( "createTime", getCreateTime () )
                .append ( "changeTime", getChangeTime () )
                .append ( "isUsed", getIsUsed () )
                .toString ();
    }
}
